package chapter04.s01subclass.example04;
// 子类重写父类方法时，不能使用比父类中被重写的方法更严格的访问权限。
// 例如，父类中的方法是public权限，子类的方法就不能是private权限。
// 如果子类在重写父类方法时定义的权限缩小，则在编译时将出现错误提示。

// 定义Animal类
class Animal {
    //定义动物叫的方法		
    public void shout() {
        System.out.println("动物发出叫声");
    }
}

// 定义Dog类继承动物类
class Dog extends Animal {
    //重写父类Animal中的shout()方法
    // 子类在重写父类方法时定义的权限缩小，则在编译时将出现错误提示。
    // 这段代码放开注释测试一下
//    private void shout() {
//        System.out.println("汪汪汪……");
//    }
}

// 定义测试类
public class Example04 {
    public static void main(String[] args) {
        Dog dog = new Dog(); // 创建Dog类的实例对象
        dog.shout();           // 调用dog重写的shout()方法
    }
}
